package com.heima.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.dtos.ArticleInfoDto;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.article.mess.ArticleVisitStreamMess;

/**
 * @Auther: Tangguo
 * @Date: 2023-06-05  17:48
 */
public interface ApArticleService extends IService<ApArticle> {

    /**
     * 根据参数加载文章列表
     * @param dto:
     * @param type:
     * @return ResponseResult
     */
    ResponseResult load(ArticleHomeDto dto,Short type);

    /**
     * 加载首页
     * @param dto
     * @param type
     * @return
     */
    ResponseResult loadFirstPage(ArticleHomeDto dto,Short type);


    /**
     * 保存app端相关文章
     * @param dto:
     * @return ResponseResult
     */
    ResponseResult saveArticle(ArticleDto dto);

    /**
     * 加载文章详情 数据回显
     * @param dto
     * @return
     */
    ResponseResult loadArticleBehavior(ArticleInfoDto dto);

    /**
     * 更新热点文章的分值及修改文章行为数据  同时更新缓存中的热点文章数据
     * @param mess:
     * @return void
     */
    void updateScore(ArticleVisitStreamMess mess);
}
